package TestDemo;

abstract class A{//定义一个抽象类

    public A(){
        System.out.println("我是A类构造方法");
    }

    public abstract void print();//抽象方法，没有方法体，有abstract关键字做修饰

}
//单继承
class B extends A{//B类是抽象类的子类，是一个普通类

    public B(){
        super();//父类的构造方法没有参数，可以不写。
        System.out.println("我是B类构造方法");
    }

    @Override
    public void print() {//强制要求覆写
        System.out.println("Hello World !");
    }

}
public class Test2 {

    public static void main(String[] args) {
        A a = new B();//向上转型
    }
}

